/**
 * Project: MavenQuickStartSpringMvcJsp
 * 
 * File Created at 2015年3月10日
 * 
 * Copyright 2012 Greenline.com Corporation Limited.
 * All rights reserved.
 *
 * This software is the confidential and proprietary information of
 * Greenline Company. ("Confidential Information").  You shall not
 * disclose such Confidential Information and shall use it only in
 * accordance with the terms of the license agreement you entered into
 * with Greenline.com.
 */
/**
 * @Type package-info
 * @Desc 适配器模式
 *      适配器模式（Adapter）：将一个类的接口转换成客户希望的另外一个接口。
 *      Adapter 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
 *      
 *      适用场景：
 1、已经存在的类的接口不符合我们的需求；
 2、创建一个可以复用的类，使得该类可以与其他不相关的类或不可预见的类（即那些接口可能不一定兼容的类）协同工作；
 3、在不对每一个都进行子类化以匹配它们的接口的情况下，使用一些已经存在的子类。

 其实现方式主要有两种：
 1.类的适配器模式（采用继承实现）
 2.对象适配器（采用对象组合方式实现）

 模式所涉及的角色有：

 ●　　目标(Target)角色：这就是所期待得到的接口。注意：由于这里讨论的是类适配器模式，因此目标不可以是类。
 ●　　源(Adapee)角色：现在需要适配的接口。
 ●　　适配器(Adaper)角色：适配器类是本模式的核心。适配器把源接口转换成目标接口。显然，这一角色不可以是接口，而必须是具体类。


 注意:
 1、适配器模式也是一种包装模式，与之前的 Decorator 装饰模式同样具有包装的功能；
 此外，对象适配器模式还具有显式委托的意思在里面（其实类适配器也有这种意思，只不过比较隐含而已），
 那么我在认为它与 Proxy 代理模式也有点类似；
 2、从上面一点对比来看， Decorator 、 Proxy、 Adapter 在实现了自身的最主要目的（这个得看各个模式的最初动机、描述）之外，
 都可以在包装的前后进行额外的、特殊的功能上的增减，因为我认为它们都有委托的实现意思在里面；
 3、我所看的书中说适配器模式不适合在详细设计阶段使用它，它是一种补偿模式，专用来在系统后期扩展、修改时所用。
 * @author shuai.zuo
 * @date 2015年3月10日
 * @Version V1.0
 */
package desgin.pattern.structure.adapter;